package com.example.basicdemo.model.domain;

import com.isyscore.os.dev.api.IsyscoreObject;
import com.isyscore.os.dev.api.domain.PageQueryDomain;

import java.util.List;

public class PageUserDomain extends PageQueryDomain implements IsyscoreObject {

    /**
     * 登录名，模糊查询
     */
    private String loginName;

    /**
     * 昵称，模糊查询
     */
    private String nickname;

    /**
     * 手机号，模糊查询
     */
    private String phone;

    /**
     * 邮箱，模糊查询
     */
    private String email;

    /**
     * 用户状态：启用ENABLED；禁用DISABLED。
     */
    private String status;

    /**
     * 用户类型，模糊查询
     */
    private String userType;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 第几页
     */
    private Integer current;

    /**
     * 每页数据量
     */
    private Integer size;

    /**
     * 排序参数，示例：xxoo.com?orders=register_name.asc&orders=register_age.desc
     */
    private List<String> orders;

    /**
     * 组织ID，不填时查询全部组织
     */
    private String rentalId;

    /**
     * 用户扩展信息键值对，key为精确匹配，val为模糊匹配
     */
    private Object colKeyVal;

    public String getLoginName() {
        return loginName;
    }

    public PageUserDomain setLoginName(String loginName) {
        this.loginName = loginName;
        return this;
    }

    public String getNickname() {
        return nickname;
    }

    public PageUserDomain setNickname(String nickname) {
        this.nickname = nickname;
        return this;
    }

    public String getPhone() {
        return phone;
    }

    public PageUserDomain setPhone(String phone) {
        this.phone = phone;
        return this;
    }

    public String getEmail() {
        return email;
    }

    public PageUserDomain setEmail(String email) {
        this.email = email;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public PageUserDomain setStatus(String status) {
        this.status = status;
        return this;
    }

    public String getUserType() {
        return userType;
    }

    public PageUserDomain setUserType(String userType) {
        this.userType = userType;
        return this;
    }

    public String getCreator() {
        return creator;
    }

    public PageUserDomain setCreator(String creator) {
        this.creator = creator;
        return this;
    }

    @Override
    public long getCurrent() {
        return this.current;
    }

    public PageUserDomain setCurrent(Integer current) {
        this.current = current;
        return this;
    }

    @Override
    public long getSize() {
        return this.size;
    }

    public PageUserDomain setSize(Integer size) {
        this.size = size;
        return this;
    }

    @Override
    public List<String> getOrders() {
        return orders;
    }

    public void setOrders(List<String> orders) {
        this.orders = orders;
    }

    public String getRentalId() {
        return rentalId;
    }

    public PageUserDomain setRentalId(String rentalId) {
        this.rentalId = rentalId;
        return this;
    }

    public Object getColKeyVal() {
        return colKeyVal;
    }

    public PageUserDomain setColKeyVal(Object colKeyVal) {
        this.colKeyVal = colKeyVal;
        return this;
    }
}
